
import java.util.ArrayList;

/**
 * ALGORITMOS Y ESTRUCTURA DE DATOS HOJA DE TRABAJO 3 SECCION 10
 *
 * ROGER DIAZ YUCELY BEB 12537 RODIMIRO CATAÑEDA VICTOR FUETNES 12298
 *
 */
public class BubbleSort {
    //variables

    ArrayList<String> lista1;//arraay de entrada desde main
    ArrayList<String> listaOrdenada;//array ya ordenada, usada para imprmir
    int largo;//largo de list, list usada para trabajo de metodos
    //lista para el manejo de los lementos
    int[] lista;

    public BubbleSort(ArrayList h) {
        listaOrdenada = h;
        //listaOrdenada = h;
        int lll=listaOrdenada.size()-1;
        lista=new int[lll+1];
                
        for (int i = 0; i <=lll; i++) {
            String a = listaOrdenada.get(i);
            lista[i] = Integer.parseInt(a);
        }

        String salida = "";
        for (int i = 0; i < largo; i++) {
            salida += "" + lista[i] + "";
            
        }
        System.out.println(salida);
    }

    public ArrayList<String> getLista1() {
        return lista1;
    }

    public ArrayList<String> getListaOrdenada() {
        return listaOrdenada;
    }

    public int getLargo() {
        return largo;
    }

    public int[] getLista() {
        return lista;
    }

    public void setLista1(ArrayList<String> lista1) {
        this.lista1 = lista1;
    }

    public void setListaOrdenada(ArrayList<String> listaOrdenada) {
        this.listaOrdenada = listaOrdenada;
    }

    public void setLargo(int largo) {
        this.largo = largo;
    }

    public void setLista(int[] lista) {
        this.lista = lista;
    }

    public void swap(int data[], int i, int j) {
        int temp;
        temp = data[i];
        data[i] = data[j];
        data[j] = temp;

    }

    public void bubbleSort(int data[], int n) {

        int numSorted = 0; // Valores en orden 
        int index; // general index
        while (numSorted < n) {
            //bubbleindice de la martriz
            for (index = 1; index < n - numSorted; index++) {
                if (data[index - 1] > data[index]) {
                    swap(data, index - 1, index);
                }
            }
            //Se le suma 1 mas al valor del indice 
            numSorted++;

        }
        lista = new int[data.length];
        largo = data.length;
        for (int i = 0; i < largo; i++) {
            lista[i] = data[i];
        }

    }
    
        public void bubbleSort1(int data[], int n) {

        int numSorted = 0; // Valores en orden 
        int index; // general index
        while (numSorted < n) {
            //bubbleindice de la martriz
            for (index = 1; index < n - numSorted; index++) {
                if (data[index - 1] > data[index]) {
                    swap(data, index - 1, index);
                }
            }
            //Se le suma 1 mas al valor del indice 
            numSorted++;

        }
        lista = new int[data.length];
        largo = data.length;
        for (int i = 0; i < largo; i++) {
            lista[i] = data[i];
        }

    }
    

    
    

    public void imprimirListOrdenado() {
        String salida = "";
        for (int i = 0; i < largo; i++) {
            salida += " " + lista[i] + " ";
           
        }
         System.out.println(salida);
    }
}
